/**
 * 
 */
package com.gouwudai.gobbs.service;

import java.util.List;
import java.util.Map;

import com.gouwudai.gobbs.common.IPageList;
import com.gouwudai.gobbs.pojo.TbbsClass;
import com.litt.core.common.PageParam;
import com.litt.core.exception.BusiException;

/**
 * <pre>
 *  Title:TODO
 *  Description: TODO  
 * </pre>
 * 
 * @author <a href="mailto:littcai@hotmail.com">空心大白菜</a>
 * @date 2007-3-29
 * @version 1.0
 * <pre>
 * 修改记录
 *    修改后版本:     修改人：  修改日期:     修改内容: 
 * </pre>
 */
public interface IClassService {

	public void save(TbbsClass tbbsClass,boolean rebuildIndex) throws BusiException;

	public TbbsClass load(Integer id);

    /**
     * 分类/版面修改
     * @param tbbsClass
     * @param rebuildIndex 重建分类/版面页面树标志
     * @throws BusiException
     */
    public void update(TbbsClass tbbsClass,boolean rebuildIndex) throws BusiException;

	/**
	 * 更新版面统计信息,同时更新父版面和父父版面的统计信息
	 * @param classId
	 */
	public void updateTopicAdd(int classId, int parentId, int gradeId);

	/**
	 * 更新版面寄语
	 * @param classId
	 * @param summary
	 */
	public void updateSummary(Integer classId, String summary);

	public void delete(Integer Id);
	
	/**
	 * 查询节点下所有分类或版面     
	 * @return
	 */
	public List listClass(Integer parentId, Integer classType,
			Integer hiddenFlag);
    /**
     * 递归，按层次构造结果,现在只实现了4层
     * 类别只能是分类或版面,构造下拉列表
     * @return
     */
    public List<Map> listClassByType(Integer classType,Integer hiddenFlag);
    
	
	public IPageList listPage(PageParam pageParam);

	public void AutoBindingTable(javax.servlet.http.HttpServletRequest request);

    
       /**
        * 生成分类、版面树静态文件
        * @throws BusiException
        */ 
       public void createClassFiles() throws BusiException;
}